<HTML>
  <HEAD>
    <TITLE>Test Specification WebApp</TITLE>
    <META http-equiv="Pragma" content="no-cache">
    <META http-equiv="Cache-Control" content="no-cache,no-store">
    <link rel="stylesheet" type="text/css" href="stylesheet.css"/>
  </HEAD>
<BODY >
  <A HREF="http://www.eclipse.org/jetty"><IMG SRC="images/jetty_banner.gif"></A>
  <br/>
  <b><a href="http://localhost:8080/">Demo Home</a></b>
  <hr/>
  <center><span style="color:red; font-variant:small-caps; font-weight:bold">Test Web Application Only - Do NOT Deploy in Production</span> </center>

<h1>Servlet 3.1 Test WebApp</h1>

<p>
This example tests some aspects of the servlet 3.1 specification:<ul>
<li>servlet annotations
<li>web-fragments
<li>servlet container initializers.
<li>multi-part upload support.
</ul>
The source repository for this test is available <a href="http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/tests/test-webapps/test-servlet-spec">here</a>.
</p>

<h3>Test Servlet 2.5/3.0 Annotations, Fragments and Initializers</h3>
<form action="test" method="post">
  <button type="submit">Test</button>
</form>

<h3>Test Static Content from Fragment </h3>
<p>Click the link to test accessing static content from a fragment's META-INF/resources</p>
<a href="fragmentA/index.html">Static resource from a fragment </a>

<h3>Test Servlet from Fragment </h3>
<p>Click the link to test accessing a servlet added from a fragment's web-fragment.xml</p>
<a href="fragment">Servlet added by web-fragment.xml</a>

<h3>Test DeclaresRoles</h3>
<p>Login as user <code>admin</code> with password <code>admin</code> when prompted after clicking the button below to test @DeclareRoles annotation</p>
<form action="role" method="post">
  <button type="submit">Test Role Annotations</button>
</form>

<h3>Test Servlet Security</h3>
<p>Login as user <code>admin</code> with password <code>admin</code> when prompted after clicking the button below to test @ServletSecurity annotation</p>
<form action="sec/foo" method="post">
  <button type="submit">Test ServletSecurity Annotation</button>
</form>

<h3>Test Servlet 3.0 Multipart Mime</h3>
Test of the annotation:
<pre>
@MultipartConfig(location="foo/bar", maxFileSize=10240, maxRequestSize=-1, fileSizeThreshold=2048)
</pre>
<form ENCTYPE="multipart/form-data" ACTION="multi" METHOD=POST>
    File to upload: <INPUT NAME="userfile1" TYPE="file">
 <input TYPE="submit" VALUE="Test Upload">
</form>

<h3>AsyncListener Resource Injection</h3>
<p>Click the following link to test that javax.servlet.AsyncListeners are injectable</p>
<form action="asy/xx"  method="post">
  <button type="submit">Test AsyncListener</button>
</form>

<center>
  <hr/>
  <a href="http://www.eclipse.org/jetty"><img style="border:0" src="images/small_powered_by.gif"/></a>
</center>

</BODY>
</HTML>
